package com.shop.cereshop.commons.domain.business;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 商家经营建议完成情况实体类
 */
@Data
@TableName("cere_business_advice_track")
@ApiModel(value = "CereBusinessAdviceTrack", description = "商家经营建议完成情况实体类")
public class CereBusinessAdviceTrack {
    /**
     * 主键id
     */
    @TableId(value = "track_id", type = IdType.AUTO)
    @ApiModelProperty(value = "主键id")
    private Long trackId;

    /**
     * 关联的商家ID，外键
     */
    @ApiModelProperty(value = "关联的商家ID，外键")
    private Long shopId;

    /**
     * 关联的建议ID，外键
     */
    @ApiModelProperty(value = "关联的建议ID，外键")
    private Long adviceId;

    /**
     * 当前完成状态 1-未启动，2-执行中，3-已完成，4-暂停，5-终止
     */
    @ApiModelProperty(value = "当前完成状态 1-未启动，2-执行中，3-已完成，4-暂停，5-终止")
    private Integer state;

    /**
     * 实际完成时间
     */
    @ApiModelProperty(value = "实际完成时间")
    private LocalDate actualFinishedTime;

    /**
     * 执行结果描述
     */
    @ApiModelProperty(value = "执行结果描述")
    private String description;

    /**
     * 未完成原因
     */
    @ApiModelProperty(value = "未完成原因")
    private String unfinishedReason;

    /**
     * 记录更新时间
     */
    @ApiModelProperty(value = "记录更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;
}